package com.epro.dx.widget;

import android.content.Context;
import android.view.View;
import android.widget.TextView;

import com.epro.dx.R;

/**
 * 等待区域控件
 */
public class WaitingAreaWidget
{
    
    private Context mContext;
    
    private View mWaitingArea;
    
    private String mText;
    
//    private TextView mTextView;
    
    private WaitingAnimAreaWidget mWaitingAnimArea;
    
//    private View mCoverBg;
    
    /**
    * 是否在动画中
    */
    private boolean mIsAnimating = false;
    
    /**
     * 
     *  
     * @param context 
     * @param waitingArea 
     */
    public WaitingAreaWidget(Context context, View waitingArea)
    {
        mContext = context;
        mWaitingArea = waitingArea;
        init();
    }
    
    private void init()
    {
//        mTextView = (TextView)mWaitingArea.findViewById(R.id.txt);
        View waitingAnimArea = mWaitingArea.findViewById(R.id.img);
        mWaitingAnimArea = new WaitingAnimAreaWidget(mContext, waitingAnimArea);
//        mCoverBg = mWaitingArea.findViewById(R.id.waiting_bg_cover);
    }
    
//    /**
//     * 显示覆盖
//     */
//    public void showCoverBg()
//    {
//        if (mCoverBg == null)
//        {
//            return;
//        }
//        mCoverBg.setVisibility(View.VISIBLE);
//    }
    
//    /**
//     * 隐藏覆盖
//     */
//    public void hideCoverBg()
//    {
//        if (mCoverBg == null)
//        {
//            return;
//        }
//        mCoverBg.setVisibility(View.INVISIBLE);
//    }
    
    /**
     * 显示
     */
    public void show()
    {
        if (mWaitingArea == null)
        {
            return;
        }
        mWaitingArea.setVisibility(View.VISIBLE);
    }
    
    /**
     * 隐藏
     */
    public void hide()
    {
        if (mWaitingArea == null)
        {
            return;
        }
        mWaitingArea.setVisibility(View.INVISIBLE);
    }
    
//    /**
//     * 设置文字
//     * @param text 
//     */
//    public void setText(String text)
//    {
//        mText = text;
//        if (mTextView == null)
//        {
//            return;
//        }
//        mTextView.setText(mText);
//    }
    
    /**
     * 开始动画
     */
    public void startAnimation()
    {
        if (mWaitingAnimArea == null)
        {
            return;
        }
        
        if (!mIsAnimating)
        {
            mWaitingAnimArea.startAnimation();
            mIsAnimating = true;
        }
    }
    
    /**
     * 停止动画
     */
    public void stopAnimation()
    {
        if (mWaitingAnimArea == null)
        {
            return;
        }
        if (mIsAnimating)
        {
            mWaitingAnimArea.stopAnimation();
            mIsAnimating = false;
        }
    }
    
    /**
     * 隐藏动画区域
     */
    public void hideWaitingAnimArea()
    {
        View waitingAnimArea = mWaitingArea.findViewById(R.id.img);
        if (waitingAnimArea != null)
        {
            waitingAnimArea.setVisibility(View.INVISIBLE);
        }
    }
    
    /**
     * 显示动画区域
     */
    public void showWaitingAnimArea()
    {
        View waitingAnimArea = mWaitingArea.findViewById(R.id.img);
        if (waitingAnimArea != null)
        {
            waitingAnimArea.setVisibility(View.VISIBLE);
        }
    }
    
    /**
     *  获取是否正在动画中
     * @return mIsAnimating 是否正在动画中
     */
    public boolean getmIsAnimating()
    {
        return mIsAnimating;
    }
    
    /**
     * 设置是否正在动画中
     * @param mIsAnimating 是否正在动画中
     */
    public void setmIsAnimating(boolean mIsAnimating)
    {
        this.mIsAnimating = mIsAnimating;
    }
    
}
